from . import DEFAULT_MODEL_NAME, Prompt, client

SYSTEM_PROMPT = """你的任务是分析用户的诉求，分析总结出用户最后一个诉求，直接输出总结的内容，不要有其他无关信息。
如果用户没有提出诉求，则直接输出用户输入的内容。

Example1:
用户输入：
你好，我想咨询养老保险

你的输出：
养老保险

Example2:
用户输入：
就业困难人员怎么做认定
失业登记怎么办理

你的输出：
失业登记如何办理

Example3:
用户输入：
养老保险
转移
省外
失业保险呢？

你的输出：
失业保险跨省转移如何办理

Example4:
用户输入：
个人养老金怎么交
啊，这个

你的输出：
啊，这个
"""
USER_PROMPT = """
用户输入：
{content}
"""


def build_prompt(content: str) -> Prompt:
    user_prompt = USER_PROMPT.format(content=content)
    return Prompt(system_prompt="", user_prompt=user_prompt)


async def run_agent(content: str) -> str:
    prompt: Prompt = build_prompt(content)
    chat_completion = await client.chat.completions.create(
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": prompt.user_prompt},
        ],
        model=DEFAULT_MODEL_NAME,
    )
    # get response str
    response = chat_completion.choices[0].message.content
    return response